// 节流
export function throttle(func, delay) {
  let lastTime = 0;
  let timer = null;

  return function (...args) {
    const now = Date.now();
    const context = this; // 保存this指向

    // 清除之前的定时器（避免重复创建）
    if (timer) {
      clearTimeout(timer);
      timer = null;
    }

    // 如果当前时间超过间隔，立即执行
    if (now - lastTime >= delay) {
      func.apply(context, args);
      lastTime = now;
    } else {
      // 否则创建定时器，确保最后一次触发会执行
      timer = setTimeout(() => {
        func.apply(context, args);
        lastTime = Date.now();
        timer = null;
      }, delay - (now - lastTime));
    }
  };
}